package ar.com.age.distribuidora.service.impl;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import ar.com.age.distribuidora.dao.AuditoriaChequeDao;
import ar.com.age.distribuidora.dao.MovimientoChequeDao;
import ar.com.age.distribuidora.dominio.AuditoriaCheque;
import ar.com.age.distribuidora.dominio.Cheque;
import ar.com.age.distribuidora.dominio.MovimientoCheque;
import ar.com.age.distribuidora.service.AuditoriaChequeService;

public class AuditoriaChequeServiceImpl implements AuditoriaChequeService {

	private MovimientoChequeDao movimientoChequeDao;
	
	private AuditoriaChequeDao auditoriaChequeDao;
	
	@Autowired(required = true)
	public void setMovimentoChequeDao(MovimientoChequeDao movimientoChequeDao) {
		this.movimientoChequeDao = movimientoChequeDao;
	}
    
    @Autowired(required = true)
	public void setAuditoriaChequeDao(AuditoriaChequeDao auditoriaChequeDao) {
		this.auditoriaChequeDao = auditoriaChequeDao;
    }
    
    // Movimiento Cheque
    @Override
   	public void crearOEditarMovimientoCheque(MovimientoCheque movimientoCheque) {
   		
    	movimientoChequeDao.saveOrUpdate(movimientoCheque);		
   	}
    
    @Override
   	public void crearOEditarMovimientoCheque(Cheque cheque, String tipo) {
   		
   		MovimientoCheque movimiento = new MovimientoCheque();
		movimiento.setCheque(cheque);
		Date fecha = new Date();
		movimiento.setFecha(fecha);
		movimiento.setTipo(tipo);
    	
    	movimientoChequeDao.saveOrUpdate(movimiento);		
   	}

   	@Override
   	public List<MovimientoCheque> buscarTodosMovimientoCheque() {

   		return movimientoChequeDao.getAll();
   	}
   	
   	// Auditoria Cheque
   	@Override
   	public void crearOEditarAuditoriaCheque(AuditoriaCheque auditoriaCheque) {
   		
   		auditoriaChequeDao.saveOrUpdate(auditoriaCheque);		
   	}

   	@Override
   	public List<AuditoriaCheque> buscarTodosAuditoriaCheque() {

   		return auditoriaChequeDao.getAll();
   	}
   	
}
